The present invention relates generally to generating waveforms on an integrated circuit, and more particularly to generating accurate waveforms for programming electrically-erasable programmable read-only memories (EE-PROMs).
EE-PROMs have proven extremely useful for non-volatile data storage in systems and integrated circuits. They have proven to be particularly useful for storing system data in battery management devices, references, and potentiometers.
But EE-PROMs are programmed using very high voltages, for example 14 volts, which are much higher than supply voltages available to an integrated circuit during normal operation. Also, it is desirable that waveforms used to program EE-PROMs have certain characteristics. For example, the peak voltage should be accurate: too high a voltage may break down or damage the individual memory cells, while too low a voltage results in unreliable programming.
Further, the rate at which the programming voltage transitions from an off state to the programming voltage is important. Specifically, excessively fast rising and falling edge rates may damage the oxide layer over the EE-PROM cells. One solution for avoiding this oxide damage is to simply slow the edge rates. Unfortunately, this leads to excessive programming times. For example, if a large memory can be programmed in 2 seconds, slowing edge rates to avoid oxide damage can lead to programming times of 5-10 seconds. When the programming is done a wafer sort or final test, this excessive programming time leads to increased test time and decreased test throughput. When the programming is done at a system level, this excessive programming time can be disruptive to system performance.
Thus, what is needed are circuits, methods, and apparatus for generating waveforms for use in programming EE-PROMs, as well as for other applications, where the waveforms have controlled, repeatable rise and fall times, as well as peak voltages that are very near a desired value.